// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package http

// HTTP status codes, defined in RFC 2616.
const (
	StatusContinue			= 100;
	StatusSwitchingProtocols	= 101;

	StatusOK			= 200;
	StatusCreated			= 201;
	StatusAccepted			= 202;
	StatusNonAuthoritativeInfo	= 203;
	StatusNoContent			= 204;
	StatusResetContent		= 205;
	StatusPartialContent		= 206;

	StatusMultipleChoices	= 300;
	StatusMovedPermanently	= 301;
	StatusFound		= 302;
	StatusSeeOther		= 303;
	StatusNotModified	= 304;
	StatusUseProxy		= 305;
	StatusTemporaryRedirect	= 307;

	StatusBadRequest			= 400;
	StatusUnauthorized			= 401;
	StatusPaymentRequired			= 402;
	StatusForbidden				= 403;
	StatusNotFound				= 404;
	StatusMethodNotAllowed			= 405;
	StatusNotAcceptable			= 406;
	StatusProxyAuthRequired			= 407;
	StatusRequestTimeout			= 408;
	StatusConflict				= 409;
	StatusGone				= 410;
	StatusLengthRequired			= 411;
	StatusPreconditionFailed		= 412;
	StatusRequestEntityTooLarge		= 413;
	StatusRequestURITooLong			= 414;
	StatusUnsupportedMediaType		= 415;
	StatusRequestedRangeNotSatisfiable	= 416;
	StatusExpectationFailed			= 417;

	StatusInternalServerError	= 500;
	StatusNotImplemented		= 501;
	StatusBadGateway		= 502;
	StatusServiceUnavailable	= 503;
	StatusGatewayTimeout		= 504;
	StatusHTTPVersionNotSupported	= 505;
)

var statusText = map[int]string{
	StatusContinue: "Continue",
	StatusSwitchingProtocols: "Switching Protocols",

	StatusOK: "OK",
	StatusCreated: "Created",
	StatusAccepted: "Accepted",
	StatusNonAuthoritativeInfo: "Non-Authoritative Information",
	StatusNoContent: "No Content",
	StatusResetContent: "Reset Content",
	StatusPartialContent: "Partial Content",

	StatusMultipleChoices: "Multiple Choices",
	StatusMovedPermanently: "Moved Permanently",
	StatusFound: "Found",
	StatusSeeOther: "See Other",
	StatusNotModified: "Not Modified",
	StatusUseProxy: "Use Proxy",
	StatusTemporaryRedirect: "Temporary Redirect",

	StatusBadRequest: "Bad Request",
	StatusUnauthorized: "Unauthorized",
	StatusPaymentRequired: "Payment Required",
	StatusForbidden: "Forbidden",
	StatusNotFound: "Not Found",
	StatusMethodNotAllowed: "Method Not Allowed",
	StatusNotAcceptable: "Not Acceptable",
	StatusProxyAuthRequired: "Proxy Authentication Required",
	StatusRequestTimeout: "Request Timeout",
	StatusConflict: "Conflict",
	StatusGone: "Gone",
	StatusLengthRequired: "Length Required",
	StatusPreconditionFailed: "Precondition Failed",
	StatusRequestEntityTooLarge: "Request Entity Too Large",
	StatusRequestURITooLong: "Request URI Too Long",
	StatusUnsupportedMediaType: "Unsupported Media Type",
	StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
	StatusExpectationFailed: "Expectation Failed",

	StatusInternalServerError: "Internal Server Error",
	StatusNotImplemented: "Not Implemented",
	StatusBadGateway: "Bad Gateway",
	StatusServiceUnavailable: "Service Unavailable",
	StatusGatewayTimeout: "Gateway Timeout",
	StatusHTTPVersionNotSupported: "HTTP Version Not Supported",
}
